// 拿到npm安装的模块
const Router = require('koa-router')
// 拿到操作user表的逻辑对象
const user = require('../controller/user')
// 拿到操作artilce表的逻辑对象
const article = require('../controller/article')
// 拿到操作comment表的逻辑对象
const comment = require('../controller/comment')
// 实例化模块对象
const router = new Router

// 设计主页路由
router.get("/", user.keepLog, article.getList)

// 配置动态路由（登录，注册）
router.get(/^\/user\/(login|reg)/, async (ctx) => {
  const show = /reg$/.test(ctx.path)  // 判断浏览器中的路径后缀是否为reg，返回boolean值

  // 如果show为true则显示注册，fales显示登录
  await ctx.render("register", {show})
})

// 处理用户登录
router.post("/user/login", user.login)

// 处理用户退出登录
router.get("/user/logout", user.logout)

// 处理用户注册
router.post("/user/reg", user.reg)

// 处理文章发表页面
router.get("/article", user.keepLog, article.addPage)

// 处理发表文章存入数据库
router.post("/article", user.keepLog, article.addToDB)

// 动态路由获取文章分页
router.get("/page/:id", article.getList)

// 文章详情页
router.get("/article/:id", article.getDetails)

// 发表评论
router.post("/comment", comment.sendComment)

// 只有exports出去的js脚本才能被另一js脚本拿到
module.exports = router